namespace SumerCoreDevOps.Shared.Models.Messages;

/// <summary>
/// 产物下载响应消息（执行节点 -> 控制端）
/// </summary>
public class ArtifactDownloadResponseMessage
{
    /// <summary>
    /// 产物 ID
    /// </summary>
    public long ArtifactId { get; set; }

    /// <summary>
    /// 是否成功
    /// </summary>
    public bool Success { get; set; }

    /// <summary>
    /// 错误消息（失败时）
    /// </summary>
    public string? ErrorMessage { get; set; }

    /// <summary>
    /// 分片索引
    /// </summary>
    public int ChunkIndex { get; set; }

    /// <summary>
    /// 总分片数
    /// </summary>
    public int TotalChunks { get; set; }

    /// <summary>
    /// 文件数据（Base64 编码）
    /// </summary>
    public string? FileDataBase64 { get; set; }

    /// <summary>
    /// 原始数据长度（解码前）
    /// </summary>
    public int DataLength { get; set; }

    /// <summary>
    /// 是否是最后一个分片
    /// </summary>
    public bool IsLastChunk { get; set; }

    /// <summary>
    /// 文件总大小（字节）
    /// </summary>
    public long TotalFileSize { get; set; }
}
